Systems and methods for stabilizing videos

ABSTRACT

Images with an optical field of view are captured by an image capture device. An observed trajectory of the image capture device reflects the positions of the image capture device at different moments may be determined. A capture trajectory of the image capture device reflects virtual positions of the image capture device from which video content may be generated. The capture trajectory is determined based on a subsequent portion of the observed trajectory such that a portion of the capture trajectory corresponding to a portion of the observed trajectory is determined based on a subsequent portion of the observed trajectory. Orientations of punch-outs for the images are determined based on the capture trajectory. Video content is generated based on visual content of the images within the punch-outs.

FIELD

This disclosure relates to stabilizing videos using positions of animage capture device during a capture duration.

BACKGROUND

A video may have been captured by an image capture device in motion. Themotion of the image capture device during the capture of the video maycause the video to appear jerky/shaky.

SUMMARY

This disclosure relates to stabilizing videos. Images with an opticalfield of view may be captured by an image capture device during acapture duration. Image information defining the images, positioninformation characterizing positions of the image capture device atdifferent moments within the capture duration, and/or other informationmay be obtained during the capture duration. An observed trajectory ofthe image capture device during the capture duration may be determinedbased on the position information and/or other information. The observedtrajectory may reflect the positions of the image capture device atdifferent moments within the capture duration. The observed trajectorymay include a first portion corresponding to a first moment within thecapture duration and a second portion corresponding to a second momentsubsequent to the first moment within the capture duration. A capturetrajectory of the image capture device may be determined based on asubsequent portion of the observed trajectory and/or other informationsuch that a portion of the capture trajectory corresponding to the firstportion of the observed trajectory may be determined based on the secondportion of the observed trajectory. The capture trajectory may havesmoother changes in the positions of the image capture device than theobserved trajectory. Orientations of the capture field of view for theimages with respect to the optical field of view of the images may bedetermined based on the capture trajectory of the image capture deviceand/or other information. Video content may be generated based on visualcontent of the images within the capture field of view and/or otherinformation.

A system that stabilizes videos may include one or more electronicstorages, one or more processors, and/or other components. An electronicstorage may store image information, position information, informationrelating to an observed trajectory of an image capture device,information relating to a capture trajectory, information relating to anoptical field of view, information relating to a capture field of view,information relating to video content, and/or other information. In someimplementations, the system may include one or more image sensors, oneor more position sensors, and/or other components.

One or more components of the system may be carried by a housing, suchas a housing of an image capture device. For example, the imagesensor(s) and the position sensor(s) of the system may be carried by thehousing. The housing may carry other components, such as theprocessor(s) and/or one or more optical elements. An optical element maybe configured to guide light within an optical field of view to an imagesensor. The optical field of view may be greater than a capture field ofview for generating video content. An image sensor may be configured togenerate an image output signal based on light that becomes incidentthereon during a capture duration. The image output signal may conveyimage information that defines images with the optical field of view.

A position sensor may be configured to generate a position output signalbased on positions of the housing during the capture duration. Theposition output signal may convey position information thatcharacterizes positions of the housing at different moments within thecapture duration. In some implementations, the position sensor mayinclude one or more of a gyroscope, an accelerometer, and/or an inertialmeasurement unit. The position information may be determined independentof the image information.

The processor(s) may be configured by machine-readable instructions.Executing the machine-readable instructions may cause the processor(s)to facilitate stabilizing videos. The machine-readable instructions mayinclude one or more computer program components. The computer programcomponents may include one or more of an observed trajectory component,a capture trajectory component, an orientation component, a generationcomponent, and/or other computer program components.

The observed trajectory component may be configured to determine anobserved trajectory of the housing during the capture duration based onthe position information and/or other information. The observedtrajectory may reflect positions of the housing at different momentswithin the capture duration. The positions of the housing may includerotational positions and/or translational positions of the housing. Theobserved trajectory may include a first portion corresponding to a firstmoment within the capture duration and a second portion corresponding toa second moment subsequent to the first moment within the captureduration.

The capture trajectory component may be configured to determine acapture trajectory of the housing based on a subsequent portion of theobserved trajectory and/or other information. The capture trajectory maybe determined such that a portion of the capture trajectorycorresponding to the first portion of the observed trajectory isdetermined based on the second portion of the observed trajectory. Thecapture trajectory may have smoother changes in the positions of thehousing than the observed trajectory.

In some implementations, the capture trajectory having smoother changesin the positions of the housing than the observed trajectory may becharacterized by the capture trajectory having less jitters in thepositions of the housing than the observed trajectory.

In some implementations, the capture trajectory of the housing may bedetermined based on minimization of a rotational velocity of the housingand a rotational acceleration of the housing while respecting a set ofconstraints. The set of constraints may include a margin constraint, atrajectory constraint, a target constraint, and/or other constraints.The margin constraint may be determined based on a difference betweenthe optical field of view and the capture field of view, and/or otherinformation. The trajectory constraint may be determined based on asubsequent portion of the observed trajectory and/or other information.The target constraint may be determined based on positions of a targetin the images and/or other information.

The orientation component may be configured to determine orientations ofthe capture field of view for the images with respect to the opticalfield of view of the images based on the capture trajectory of thehousing and/or other information.

The generation component may be configured to generate video contentbased on visual content of the images within the capture field of viewand/or other information.

These and other objects, features, and characteristics of the systemand/or method disclosed herein, as well as the methods of operation andfunctions of the related elements of structure and the combination ofparts and economies of manufacture, will become more apparent uponconsideration of the following description and the appended claims withreference to the accompanying drawings, all of which form a part of thisspecification, wherein like reference numerals designate correspondingparts in the various figures. It is to be expressly understood, however,that the drawings are for the purpose of illustration and descriptiononly and are not intended as a definition of the limits of theinvention. As used in the specification and in the claims, the singularform of “a,” “an,” and “the” include plural referents unless the contextclearly dictates otherwise.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a system that stabilizes videos.

FIG. 2 illustrates a method for stabilizing videos.

FIG. 3 illustrates an example image capture device.

FIG. 4 illustrates an example observed trajectory.

FIG. 5A illustrates example predicted trajectories.

FIG. 5B illustrates an example smoothed trajectory.

FIG. 5C illustrates an example capture trajectory.

FIG. 6A illustrates example optical field of view and capture field ofview.

FIG. 6B illustrates example orientations of a capture field of view withrespect to an optical field of view.

DETAILED DESCRIPTION

FIG. 1 illustrates a system 10 for stabilizing videos. The system 10 mayinclude one or more of a processor 11, an interface 12 (e.g., bus,wireless interface), an electronic storage 13, and/or other components.In some implementations, the system 10 may include one or more imagesensors, one or more position sensors, and/or other components. Imageswith an optical field of view may be captured by an image capture deviceduring a capture duration. Image information defining the images,position information characterizing positions of the image capturedevice at different moments within the capture duration, and/or otherinformation may be obtained during the capture duration. Imageinformation, position information, and/or other information may beobtained by the processor 11. An observed trajectory of the imagecapture device during the capture duration may be determined based onthe position information and/or other information. The observedtrajectory may reflect the positions of the image capture device atdifferent moments within the capture duration. The observed trajectorymay include a first portion corresponding to a first moment within thecapture duration and a second portion corresponding to a second momentsubsequent to the first moment within the capture duration. A capturetrajectory of the image capture device may be determined based on asubsequent portion of the observed trajectory and/or other informationsuch that a portion of the capture trajectory corresponding to the firstportion of the observed trajectory may be determined based on the secondportion of the observed trajectory. The capture trajectory may havesmoother changes in the positions of the image capture device than theobserved trajectory. Orientations of the capture field of view for theimages with respect to the optical field of view of the images may bedetermined based on the capture trajectory of the image capture deviceand/or other information. Video content may be generated based on visualcontent of the images within the capture field of view and/or otherinformation.

The electronic storage 13 may be configured to include electronicstorage medium that electronically stores information. The electronicstorage 13 may store software algorithms, information determined by theprocessor 11, information received remotely, and/or other informationthat enables the system 10 to function properly. For example, theelectronic storage 13 may store information relating to images, imageinformation, information relating to image capture device, informationrelating to optical element, information relating to image sensor,information relating to position sensor, position information,information relating to observed trajectory of the image capture device,information relating to capture trajectory of the image capture device,information relating to optical field of view, information relating tocapture field of view, information relating to video content, and/orother information.

The processor 11 may be configured to provide information processingcapabilities in the system 10. As such, the processor 11 may compriseone or more of a digital processor, an analog processor, a digitalcircuit designed to process information, a central processing unit, agraphics processing unit, a microcontroller, an analog circuit designedto process information, a state machine, and/or other mechanisms forelectronically processing information. The processor 11 may beconfigured to execute one or more machine-readable instructions 100 tofacilitate stabilizing videos. The machine-readable instructions 100 mayinclude one or more computer program components. The machine-readableinstructions 100 may include one or more of an observed trajectorycomponent 102, a capture trajectory component 104, an orientationcomponent 106, a generation component 108, and/or other computer programcomponents.

Images with an optical field of view may be captured by an image capturedevice during a capture duration. An optical field of view of image maydefine a field of view of a scene captured within the image. A captureduration may be measured/defined in terms of time durations and/or framenumbers. For example, images may be captured during a capture durationof 60 seconds, and/or from one point in time to another point in time.Images may be captured during a capture duration including capture of1800 images. If the images are captured at 30 images/second, then thecapture duration may correspond to 60 seconds. Other capture durationsare contemplated.

The system 10 may be remote from the image capture device or local tothe image capture device. One or more portions of the image capturedevice may be remote from or a part of the system 10. One or moreportions of the system 10 may be remote from or a part of the imagecapture device.

For example, one or more components of the system 10 may be carried by ahousing, such as a housing of an image capture device. For instance,image sensor(s) and position sensor(s) of the system 10 may be carriedby the housing of the image capture device. The housing may carry othercomponents, such as the processor 11 and/or one or more opticalelements.

An image capture device may refer to a device for recording visualinformation in the form of images, videos, and/or other media. An imagecapture device may be a standalone device (e.g., camera) or may be partof another device (e.g., part of a smartphone). FIG. 3 illustrates anexample image capture device 302. The image capture device 302 mayinclude a housing 312, and the housing 312 may carry (be attached to,support, hold, and/or otherwise carry) an optical element 304, an imagesensor 306, a position sensor 308, a processor 310, and/or othercomponents. Other configurations of image capture devices arecontemplated.

The optical element 304 may include instrument(s), tool(s), and/ormedium that acts upon light passing through theinstrument(s)/tool(s)/medium. For example, the optical element 304 mayinclude one or more of lens, mirror, prism, and/or other opticalelements. The optical element 304 may affect direction, deviation,and/or path of the light passing through the optical element 304. Theoptical element 304 may be configured to guide light within an opticalfield of view 305 to the image sensor 306. The optical field of view 305may include the field of view of a scene that is within the field ofview of the optical element 304 and/or the field of view of the scenethat is delivered to the image sensor 306. For example, the opticalelement 304 may guide light within its field of view to the image sensor306 or may guide light within a portion of its field of view to theimage sensor 306. The optical field of view 305 may be greater than acapture field of view for generating video content.

The image sensor 306 may include sensor(s) that converts received lightinto output signals. The output signals may include electrical signals.For example, the image sensor 306 may include one or more of acharge-coupled device sensor, an active pixel sensor, a complementarymetal-oxide semiconductor sensor, an N-type metal-oxide-semiconductorsensor, and/or other image sensors. The image sensor 306 may generateoutput signals conveying information that defines one or more images(e.g., video frames of a video). For example, the image sensor 306 maybe configured to generate an image output signal based on light thatbecomes incident thereon during a capture duration. The image outputsignal may convey image information that defines images with the opticalfield of view.

The position sensor 308 may include sensor(s) that converts experiencedpositions/motions into output signals. The output signals may includeelectrical signals. For example, the position sensor 308 may refer to aset of position sensors, which may include one or more inertialmeasurement units, one or more accelerometers, one or more gyroscopes,and/or other position sensors. The position sensor 308 may generateoutput signals conveying information that characterizes positions of theposition sensor 308 and/or device(s) carrying the position sensor 308.For example, the position sensor 308 may be configured to generate aposition output signal based on positions of the housing/image capturedevice during the capture duration. The position output signal mayconvey position information that characterizes positions of the housing312 at different moments (points in time, time durations) within thecapture duration. The position information may characterize positions ofthe housing 312 based on specific translational and/or rotationalpositions of the housing 312 and/or based on changes in translationaland/or rotational positions of the housing 312 as a function of progressthrough the capture duration. That is, the position information maycharacterize translational and/or rotational positions of the housing312 and/or changes in translational and/or rotational positions (motion)of the housing 312 (e.g., direction, amount, velocity, acceleration)during the capture duration.

The position information may be determined based on signals generated bythe position sensor 308 and independent of the information/signalsgenerated by the image sensor 306. That is, position information may bedetermined without using images/videos generated by the image sensor306. Use of images/videos to determine positions/motions of the housing312/image capture device 302 may be computationally expensive in termsof processing power, processing time, and/or battery consumption. Usingthe information/signals from the position sensor 308 to determinepositions/motions of the housing 312/image capture device 302 may becomputationally cheaper. That is, less processing power, processingtime, and/or battery consumption may be required when positions/motionsof the housing 312/image capture device 302 are determined from theinformation/signals from the position sensor 308 than theinformation/signals from the image sensor 306. The position informationdetermined independent of the image information may be used to determinethe trajectory of the housing 312/image capture device 302 during thecapture duration.

The processor 310 may include one or more processors (logic circuitry)that provide information processing capabilities in the image capturedevice 302. The processor 310 may provide one or more computingfunctions for the image capture device 302. The processor 310 mayoperate/send command signals to one or more components of the imagecapture device 302 to operate the image capture device 302. For example,the processor 310 may facilitate operation of the image capture device302 in capturing image(s) and/or video(s), facilitate operation of theoptical element 304 (e.g., change how light is guided by the opticalelement 304), and/or facilitate operation of the image sensor 306 (e.g.,change how the received light is converted into information that definesimages/videos and/or how the images/videos are post-processed aftercapture). The processor 310 may obtain information from the image sensor306 and/or the position sensor 308, and/or facilitate transfer ofinformation from the image sensor 306 and/or the position sensor 308 toanother device/component. The processor 310 may be remote from theprocessor 11 or local to the processor 11. One or more portions of theprocessor 310 may be part of the processor 11 and/or one or moreportions of the processor 10 may be part of the processor 310.

Referring back to FIG. 1, the processor 11 (or one or more components ofthe processor 11) may be configured to obtain information to facilitatestabilizing videos. Obtaining information may include one or more ofaccessing, acquiring, analyzing, determining, examining, identifying,loading, locating, opening, receiving, retrieving, reviewing, storing,and/or otherwise obtaining the information. The processor 11 may obtaininformation from one or more locations. For example, the processor 11may obtain information from a storage location, such as the electronicstorage 13, electronic storage of information and/or signals generatedby one or more sensors, electronic storage of a device accessible via anetwork, and/or other locations. The processor 11 may obtain informationfrom one or more hardware components (e.g., an image sensor, a positionsensor) and/or one or more software components (e.g., software runningon a computing device).

For example, the processor 11 (or one or more components of theprocessor 11) may obtain image information defining images with anoptical field of view, position information characterizing positions ofan image capture device at different moments within a capture duration,and/or other information. One or more information may be obtained duringacquisition of the images and/or after acquisition of the images by animage capture device. For example, image information, positioninformation, and/or other information may be obtained while the imagesare being captured by an image capture device and/or after the imageshave been captured and stored in memory (e.g., the electronic storage13).

The observed trajectory component 102 may be configured to determine anobserved trajectory of the image capture device/housing of the imagecapture device during the capture duration based on the positioninformation and/or other information. The determination of the observedtrajectory may be referred to as trajectory generation/observedtrajectory generation. The observed trajectory may refer to one or morepaths and/or progression followed by the image capture device/housingduring the capture duration. The observed trajectory may reflectpositions of the image capture device/housing of the image capturedevice at different moments within the capture duration. The positionsof the image capture device/housing of the image capture device mayinclude rotational positions (e.g., rotations about one or more axis ofthe image capture device) and/or translational positions of the imagecapture device/housing of the image capture device. For example, theobserved trajectory component 102 may determine an observed trajectoryof the image capture device/housing of the image capture device duringthe capture duration based on the position information characterizingspecific translational and/or rotational positions of the image capturedevice/housing and/or changes in translational and/or rotationalpositions of the image capture device/housing as a function of progressthrough the capture duration.

The observed trajectory may include different portions corresponding todifferent moments within the capture duration. For example, the observedtrajectory may include a first portion corresponding to a first momentwithin the capture duration and a second portion corresponding to asecond moment within the capture duration. The second moment may besubsequent to the first moment within the capture duration.

FIG. 4 illustrates an example observed trajectory of an image capturedevice. The observed trajectory may include an observed yaw trajectory400 of the image capture device. The observed yaw trajectory 400 mayreflect yaw angle positions (e.g., rotational positions defined withrespect to a yaw axis, rotation to the left or right) of the imagecapture device/housing of the image capture device at different momentswithin the capture duration. The observed yaw trajectory 400 may showthat the image capture device was rotated in a negative yaw direction,rotated in a positive yaw direction, rotated back in the forwardconfiguration, then rotated in the negative yaw direction. For example,the image capture device, during capture of images, may have beenrotated to the right, then to the left, to the front, then to the right.Other types of observed trajectory (e.g., pitch trajectory, rolltrajectory, translational trajectory) are contemplated.

Generating a video based on the images captured along the observed yawtrajectory 400 may be undesirable. For example, generating a video basedon the images captured along the observed yaw trajectory 400 may resultin a video with footage that is shaky and/or that appears to includeunintended camera motion. For instance, sharp/quick changes in the yawangle positions of the image capture device may result in abrupt changesin the direction of visuals within the video (e.g., quick left or rightcamera motion). Multiple changes in the yaw angle positions of the imagecapture device may result in a footage that is changing the direction ofview (e.g., to the right, to the left, to the front, to the right).

Videos generated from such images may be stabilized to provide asmoother view of the captured content. Stabilization of such videos mayinclude using smaller visual content portions of the images to provide apunch-out view of the images that creates a more stable view than whengenerating videos by using the entire visual content of the images. Forexample, such stabilization may be provided by creating a stabilizedtrajectory over the capture duration and determining the punch-outs fromthe images based on the stabilized trajectory. A punch-out of an imagemay refer to one or more portions of the image that is used forpresentation, such as a cut-out of the image or a cropped portion of theimage. A punch-out of an image may include one or more visual portionsof the image presented on a display and/or one or more visual portionportions of the image used to generate video frames of video content.However, some stabilization techniques may not preserve the intent ofthe user that captured the images.

For example, videos may be stabilized by predicting positions/motions ofthe camera based on past positions/motions. For example, when attemptingto determine the location and/or shape of the punch-out for an imagecaptured at a given moment within the capture duration, thepositions/motions of the image capture device preceding that moment maybe used to determine how to position/shape the punch-out to create astabilized view. Such use of “past” position/motion information mayconflict with the motion intended by the user of the image capturedevice.

For example, in the observed yaw trajectory 400, the rotation of theimage capture device to the right, then to the left, and then to thefront may be the result of the image capture device beingunintentionally rotated to the right, the user overcorrecting therotation to the left, and then rotating the image capture device to theright to a front-facing direction. Determining punch-out of the imagesusing “past” position/motion information may result in a predictedtrajectory as shown in FIG. 5A.

For example, based on the rotation of the image capture device to theright during duration A 502, a predicted yaw trajectory A 512, whichcontinues the rotation to the right, may be predicted for duration B504. Based on smaller rotation of the image capture device to the rightduring duration D 506, a predicted yaw trajectory B 514, which continuesthe smaller rotation to the right, may be predicted for duration D 508.The predicted yaw trajectory A 512 may be in opposite direction of theactual motion of the image capture device during duration B 504, and thepredicted yaw trajectory B 514 may be off from the observed yawtrajectory by a large margin. Such discrepancy between the observed yawtrajectory and the predicted yaw trajectory may result in the images notincluding enough visual information (e.g., pixels) to account for theattempted stabilized and/or the punch-out location/shape.

As another example, videos may be stabilized by smoothing the observedchanges in positions/motions of the image capture device. For instance,a low-pass filter may be applied to the observed trajectory to smoothout the abrupt rotational and/or translational changes in thepositions/motions of the image capture device.

For example, as shown in FIG. 5B, by applying a low-pass filter to theobserved yaw trajectory 400, a smoothed yaw trajectory 516 may bedetermined. The smoothed yaw trajectory 516 may have smoother changes inthe positions/motions of the image capture device than the observed yawtrajectory. However, such smooth may not take into account how thepositions/motions changes during the capture duration and may notpreserve the intent of the user that captured the images. For example,even though a video generated from the smoothed yaw trajectory 516 maynot include abrupt changes in the direction of visuals within the video,the video may still include footage that is changing the direction ofview to the right, then to left, to the front, and then to the right ina non-continuous motion (e.g., rotating to the right to a certain angle,holding that position for a time, then rotating to the right, then backa little to the left, and then to the right again).

The capture trajectory component 104 may be configured to determine acapture trajectory of the image capture device/housing of the imagecapture device based on a subsequent portion of the observed trajectoryand/or other information. The determination of the capture trajectorymay be referred to as trajectory generation/capture trajectorygeneration. The capture trajectory may refer to one or more paths and/orprogression to be used in determining which portions of the visualcontent of the images (punch-outs) may be used to generate a video. Thecapture trajectory may reflect actual and/or virtual positions of theimage capture device/housing of the image capture device at differentmoments within the capture duration. An actual position may refer to aposition that was taken by the image capture device/housing of the imagecapture. A virtual position may refer to a position that was not takenby the image capture device/housing of the image capture. A virtualposition may be offset (rotationally and/or translationally) from theactual position of the image capture device/housing of the image capturedevice. The capture trajectory may have smoother changes in thepositions of the image capture device/housing of the image capturedevice than the observed trajectory. That is, the capture trajectory mayhave less jitters (slight irregular movement/variation), less abruptchanges, and/or less discontinuous changes in the positions of the imagecapture device/housing of the image capture device than the observedtrajectory.

Determining a capture trajectory (capture trajectory generation) basedon a subsequent portion of an observed trajectory may includedetermining a portion of the capture trajectory corresponding to a givenmoment within the capture duration based on one or more portions of theobserved trajectory corresponding to one or more subsequent moments(moment(s) past the given moment) within the capture duration. That is,the capture trajectory component 104 may “look ahead” in time todetermine a portion of the capture trajectory. A look ahead may includeuse of one or more subsequent portions of an observed trajectory todetermine a preceding portion of the capture trajectory. Such generationof trajectory may be referred to as a look head trajectory generation. Asubsequent moment within the duration may be adjacent to the givenmoment or not adjacent to the given moment. Using the subsequentportion(s) of the observed trajectory may enable the capture trajectorycomponent 104 to determine a capture trajectory that preserves a user'sintended motion for the image capture device. The user's intended motionmay refer to the motion of the image capture device that the userplanned/meant to carry out.

The positions/motions of the image capture device in the “future” may beanalyzed (look ahead) to determine whether particularposition(s)/motion(s) of the image capture device at a moment is anintended motion or an unintended motion (e.g., shaking due to vibration,rotation due to bumping/mishandling the image capture device). Forexample, when determining the capture trajectory for a moment (e.g.,corresponding to the 1000th video frame) within the capture duration,the position(s)/motion(s) of the image capture device for a durationsubsequent to the moment (e.g., corresponding to the next 30 videoframes) may be analyzed to determine whether the position/motion of theimage capture device at the moment was intended or not. In someimplementations, the capture trajectory component 104 may determine acapture trajectory of the image capture device/housing of the imagecapture device further based on one or more prior portions of theobserved trajectory. The past position/motion information of the imagecapture device may supply context for the intended motion.

FIG. 5C illustrates an example capture trajectory determined by thecapture trajectory component 104. The capture trajectory may include acapture yaw trajectory 532. The capture yaw trajectory 532 may reflectyaw angle positions (e.g., rotational positions defined with respect toa yaw axis, rotation to the left or right) of the image capturedevice/housing of the image capture device to be used in determiningwhich portions of the visual content of the images (punch-outs) may beused to generate a video. For example, the capture yaw trajectory 532may include a zero-rotation about the yaw axis (front-direction) fordurations 522, 524, 526 and then a smooth rotation to the right fordurations 528, 530. Other types of capture trajectory (e.g., capturepitch trajectory, capture roll trajectory, capture translationaltrajectory) are contemplated.

The capture yaw trajectory 532 may be determined such that a portion ofthe capture yaw trajectory 532 corresponding to the portion of theobserved yaw trajectory 400 is determined based on a subsequent portionof the observed yaw trajectory 400. For example, the portion of thecapture yaw trajectory 532 for one or more portions of the duration A522 may be determined based on the portion(s) of the observed yawtrajectory 400 within the duration B 524 and/or the duration C 526 (lookahead to the duration B 524 and/or the duration C 526). The portion(s)of the observed yaw trajectory 400 for the duration B 524 and/or theduration C 526 may be used to determine in what direction and/or by whatamount the capture yaw trajectory 532 for portion(s) of the duration A522 may differ from the observed yaw trajectory 400. The capture yawtrajectory 532 may be determined based on subsequent portion(s) of theobserved trajectory 400 such that the capture yaw trajectory 532preserves a user's intended motion for the image capture device. Forexample, based on the subsequent portion(s) (look ahead) of the observedtrajectory 400, the capture trajectory component 104 may determine thatthe rotation of the image capture device to the right and left duringdurations 522, 524 were unintended motions (e.g., the image capturedevice being unintentionally rotated to the right and the userovercorrecting the rotation to the left), and may determine the captureyaw trajectory 532 to be directed to the front during durations 522,524. Based on the subsequent portion(s) (look ahead) of the observedtrajectory 400, the capture trajectory component 104 may determine thatthe staggered rotation of the image capture device to the right duringdurations 528, 530 included unintended motions (non-continuous rotationto the right), and may determine the capture yaw trajectory 532 toinclude continuous rotation to the right during durations 528, 530.Other determinations of capture trajectory are contemplated.

In some implementations, the capture trajectory may be determined basedon minimization of a rotational velocity of the image capturedevice/housing of the image capture device and a rotational accelerationof the image capture device/housing of the image capture device whilerespecting a set of constraints. For example, the capture trajectory maybe determined by generating a smooth path that respects the set ofconstraints, rather than by modifying the observed trajectory. Forinstance, a smooth path defining yaw angle position, pitch angleposition, and/or roll angle position may be generated by finding a pathof the image capture device/housing of the image capture device thatminimizes a combination of a time derivative, a second time derivative,and/or other time derivative(s) of the yaw angle position, pitch angleposition, and/or roll angle position while respecting the set ofconstraints:

$\begin{matrix}{\min\left( {{{\frac{d}{dt}\theta}}^{2} + {{\frac{d^{2}}{{dt}^{2}}\theta}}^{2} + \ldots}\mspace{14mu} \right)} & (54)\end{matrix}$

In some implementations, one or more of the portions of the minimizationcalculation may be changed. For example, one or more portions of theminimization calculation (e.g., the first time derivative) may bechanged to have a greater affect or a lesser affect than otherportion(s) of the minimization calculation (e.g., the second timederivative), and/or other factors may be introduced into thecalculation.

In some implementations, information on high frequencies (jitters) ofimage capture may be used to improve visual characteristics of generatedvideo content. Certain portion of high frequencies in the input may bekept based on the image capture configuration, such as exposure starttime and exposure duration time, the position information (e.g.,position sensor readings), and/or other information. For example, motionof the image capture device/image sensor during a frame exposure may beanalyzed and used to generate/modify a capture trajectory that minimizesinter-frame motion (e.g., smooths inter-frame motion) while preservingthe intra-frame motion, which may contain the high frequencies. This mayprovide for improved visual characteristics of the generated videocontent, such as by compensating for motion blur and/or lowlight imagecapture conditions.

For example, image capture may not happen instantaneously. Rather, itmay take a certain amount of time for image sensor pixel sites to gatherlight. This may lead to splitting of the image sensor motion in time intwo phases: inter-frame motion which may not be captured and may besuppressed, and intra-frame motion which may be “encrusted” in the imageand may not be removed. Better visual characteristics (e.g., impression)may be provided when the intra-frame motion is taken into account sothat the capture trajectory is smooth for inter-frame phases whilecorresponding to the original motion for intra-frame phases. That is,the capture trajectory may move/follow in the same direction and withthe same speed as during the frame exposure phase, so that its motion isaligned with the motion blur in the image.

The set of constraints may include one or more constraints that providelimitations/restrictions/rules on how the smooth path is generated. Forexample, the set of constraints may include a margin constraint thatprovide limitation(s)/restriction(s)/rule(s) on how far from theobserved trajectory the smooth path may be generated. The marginconstraint may be determined based on a difference between the opticalfield of view and the capture field of view, and/or other information.The optical field of view may refer to the field of view of a scenecaptured within the image. That is, the optical field of view may referto the spatial extent/angle of the scene captured within the image. Thecapture field of view may refer to the field of view used to generate avideo based on visual content of the images. That is, a video may begenerated based on visual content of the images within the capture fieldof view. The capture field of view may be defined in terms of shapeand/or size.

For example, FIG. 6A illustrates an example optical field of view 602and an example capture field of view 604 for an image A 600. The image A600 may include capture of a scene within an angle defined by theoptical field of view 602. The capture field of view 604 may provide apunch-out of the image A 600 to be used for video generation. The amountand/or direction from which the smooth path may deviate from theobserved trajectory may depend on the difference between the opticalfield of view 602 and the capture field of view 604. The differencebetween the optical field of view 602 and the capture field of view 604(e.g., 10%) may define a margin 606 within which the capture field ofview 604 may move with respect to the optical field of view 602. Forexample, referring to FIG. 6B, a capture field of view 614 may berotated with respect to the optical field of view 612 while not goingbeyond the pixels captured within an image B 610, and a capture field ofview 624 may be laterally moved with respect to a optical field of view622 while not going beyond the pixels captured within an image C 620.

Larger difference between the optical field of view 602 and the capturefield of view 604 may enable larger movement of the capture field ofview 604 with respect to the optical field of view 602 while smallerdifference between the optical field of view 602 and the capture fieldof view 604 may enable smaller movement of the capture field of view 604with respect to the optical field of view 602. However, the largermargin 606 may result in waste of pixel space and computing resources(e.g., processor power and/or battery consumption to capture images withlarger optical field of view than needed to generate a video).

In some implementations, the set of constraints may include a trajectoryconstraint that provide limitation(s)/restriction(s)/rule(s) on how thesmooth path may be generated based on subsequent portions of theobserved trajectory. The trajectory constraint may be determined basedon a subsequent portion of the observed trajectory and/or otherinformation. That is, the trajectory constraint may include one or moreconstraints relating to shape of the observed trajectory in the“future.” The trajectory constraint may preserve the intended motion forthe image capture device in the generated path.

In some implementations, the set of constraints may include a targetconstraint that provide limitation(s)/restriction(s)/rule(s) on how thesmooth path may be generated based on a target within the images. Atarget may refer to a person, an object, and/or a thing that may beselected for inclusion in a video. For example, the images captured bythe image capture device may include one or more view of a person (e.g.,a person of interest) and a user may wish to create a video thatincludes the person. The target constraint may include one or moreconstraints relating to the location of the target within the imagessuch that the images are stabilized around the location of the targetwithin the images. That is, the target constraint may affect thegeneration of the smooth path so that the target is within one or moreof the punch-outs for the images. Other constraints are contemplated.

The orientation component 106 may be configured to determineorientations of the capture field of view for the images with respect tothe optical field of view of the images based on the capture trajectoryof the image capture device/housing of the image capture device and/orother information. The orientations of the capture field of view for theimages with respect to the optical field of view of the images maydetermine which portions of the visual content of the images(punch-outs) may be used to generate a video. That is, the orientationcomponent 106 may determine how the punch-outs for the images may beoriented with respect to the capture field of view for the images. Thecapture trajectory may be used to determine how much and in whatdirection the capture field of view is rotated with respect to theoptical field of view. In some implementations, the orientationcomponent 106 may determine how the punch-outs for the images may belaterally and/or vertically positioned with respect to the capture fieldof view for the images. The capture trajectory may determine how muchand in what direction the capture field of view is rotated with respectto the optical field of view. The capture trajectory may be used todetermine how much and in what direction the capture field of view islaterally/vertically positioned with respect to the optical field ofview.

For example, referring to FIG. 6B, the orientation component 106 maydetermine the orientation of the capture field of view 614 with respectto the optical field of view 612 for the image B 610 based on thecapture trajectory at a particular moment. The capture field of view 614may be oriented with respect to the optical field of view 612 to providea punch-out of the image B 610 that is stable with respect to a priorand/or next punch-out of the images (e.g., stable with the punch-out ofthe image A 600 using the capture field of view 604 for the image A 600,shown in FIG. 6A). The orientation component 106 may determine theorientation of the capture field of view 624 with respect to the opticalfield of view 622 for the image C 620 based on the capture trajectory ata particular moment. The capture field of view 624 may be oriented withrespect to the optical field of view 622 to provide a punch-out of theimage C 620 that is stable with respect to a prior and/or next punch-outof the images (e.g., stable with the punch-out of the image B 610 usingthe capture field of view 614 for the image B 610).

The generation component 108 may be configured to generate video contentbased on visual content of the images within the capture field of viewand/or other information. Video content may refer media content that maybe consumed as one or more videos/video clips. Video content may includeone or more videos/video clips stored in one or more formats/containers,and/or other video content. A format may refer to one or more ways inwhich the information defining video content is arranged/laid out (e.g.,file format). A container may refer to one or more ways in whichinformation defining video content is arranged/laid out in associationwith other information (e.g., wrapper format). Video content may definevisual content viewable as a function of progress through a progresslength of the video content. Video content may include video frames thatdefine visual content. That is, visual content of the video content maybe included within video frames of the video content.

The video frames of the video content may be determined based on visualcontent of the images within the capture field of view and/or otherinformation. The video frames of the video content may be determinedbased on a punch-out of the images in accordance with the capturetrajectory, the capture field of view, and/or other information. Forexample, referring to FIGS. 6A-6B, the video frames of the video contentmay be determined based on the visual content of the image A 600 withinthe capture field of view 604, the visual content of the image B 610within the capture field of view 614, the visual content of the image C620 within the capture field of view 624, and/or other information. Suchdetermination of visual content of images for inclusion in video contentmay effectuate stabilization of the video content.

In some implementations, the video frames of the video content may bedetermined based on warping of images (e.g., one or more portions of thevisual content of the images). The warping of the images may provide fordifferent perspectives of content captured within the images, with thedifferent perspectives corresponding to how the content would have lookhad the images been captured from the image capture device on thecapture trajectory.

In some implementations, one or more of the images and/or one or more ofthe portions of images used to generate video content may be stored in abuffer (e.g., 1s buffer). The buffer may be used to storeimages/portions of images including visual content that will be includedin the visual content and/or images/portions of images including visualcontent that will be transformed (e.g., warped) for inclusion in thevisual content. The buffer may be used to store image information,position information, and/or other information for look ahead and/ortrajectory generation. For example, the buffer may be used to storeimages for which trajectory generation is being performed using lookahead. After corresponding portion of the capture trajectory isgenerated, the relevant portions of the images (visual content of theimages within the capture field of view) in the buffer may be used togenerate the video content.

The video content generated by the generation component 108 may bedefined by video information. Video information defining video contentmay define an encoded version/copy of the video content and/orinstructions for rendering the video content. For example, the videoinformation may define an encoded version/copy of the video content, andthe video information (e.g., video file) may be opened in a video playerfor presentation of the video content. The video information may defineinstructions to render the video content for presentation. For example,the video information may define a director track that includesinformation as to which visual portions of the images should be includedwithin the presentation of the video content. The director track mayinclude information on the location and/or shape of the punch-out ofimages to be used to as a function progress through the video content toprovide a stabilized view of the images. A video player may use thedirector track to retrieve the relevant visual portions of the imageswhen the video content is opened/to be presented.

The generation component 108 may be configured effectuate storage of thevideo information and/or other information in one or more storage media.For example, the video information may be stored in the electronicstorage 13, remote storage locations (storage media locatedat/accessible through a server), and/or other locations. In someimplementations, the generation component 108 may effectuate storage ofthe video information through one or more intermediary devices. Forexample, the processor 11 may be located within a computing devicewithout a connection to the storage device (e.g., the computing devicelacks WiFi/cellular connection to the storage device). The generationcomponent 108 may effectuate storage of the video information throughanother device that has the necessary connection (e.g., the computingdevice using a WiFi/cellular connection of a paired mobile device, suchas a smartphone, tablet, laptop, to store information in one or morestorage media). Other storage locations for and storage of the videoinformation are contemplated.

While the description herein may be directed to images and videos, oneor more other implementations of the system/method described herein maybe configured for other types media content. Other types of mediacontent may include one or more of audio content (e.g., music, podcasts,audiobooks, and/or other audio content), multimedia presentations,images, slideshows, visual content (e.g., one or more images and/orvideos), and/or other media content.

Implementations of the disclosure may be made in hardware, firmware,software, or any suitable combination thereof. Aspects of the disclosuremay be implemented as instructions stored on a machine-readable medium,which may be read and executed by one or more processors. Amachine-readable medium may include any mechanism for storing ortransmitting information in a form readable by a machine (e.g., acomputing device). For example, a tangible computer-readable storagemedium may include read-only memory, random access memory, magnetic diskstorage media, optical storage media, flash memory devices, and others,and a machine-readable transmission media may include forms ofpropagated signals, such as carrier waves, infrared signals, digitalsignals, and others. Firmware, software, routines, or instructions maybe described herein in terms of specific exemplary aspects andimplementations of the disclosure, and performing certain actions.

In some implementations, some or all of the functionalities attributedherein to the system 10 may be provided by external resources notincluded in the system 10. External resources may include hosts/sourcesof information, computing, and/or processing and/or other providers ofinformation, computing, and/or processing outside of the system 10.

Although the processor 11 and the electronic storage 13 are shown to beconnected to the interface 12 in FIG. 1, any communication medium may beused to facilitate interaction between any components of the system 10.One or more components of the system 10 may communicate with each otherthrough hard-wired communication, wireless communication, or both. Forexample, one or more components of the system 10 may communicate witheach other through a network. For example, the processor 11 maywirelessly communicate with the electronic storage 13. By way ofnon-limiting example, wireless communication may include one or more ofradio communication, Bluetooth communication, Wi-Fi communication,cellular communication, infrared communication, Li-Fi communication, orother wireless communication. Other types of communications arecontemplated by the present disclosure.

Although the processor 11 is shown in FIG. 1 as a single entity, this isfor illustrative purposes only. In some implementations, the processor11 may comprise a plurality of processing units. These processing unitsmay be physically located within the same device, or the processor 11may represent processing functionality of a plurality of devicesoperating in coordination. The processor 11 may be configured to executeone or more components by software; hardware; firmware; some combinationof software, hardware, and/or firmware; and/or other mechanisms forconfiguring processing capabilities on the processor 11.

It should be appreciated that although computer components areillustrated in FIG. 1 as being co-located within a single processingunit, in implementations in which processor 11 comprises multipleprocessing units, one or more of computer program components may belocated remotely from the other computer program components.

While computer program components are described herein as beingimplemented via processor 11 through machine-readable instructions 100,this is merely for ease of reference and is not meant to be limiting. Insome implementations, one or more functions of computer programcomponents described herein may be implemented via hardware (e.g.,dedicated chip, field-programmable gate array) rather than software. Oneor more functions of computer program components described herein may besoftware-implemented, hardware-implemented, or software andhardware-implemented

The description of the functionality provided by the different computerprogram components described herein is for illustrative purposes, and isnot intended to be limiting, as any of computer program components mayprovide more or less functionality than is described. For example, oneor more of computer program components may be eliminated, and some orall of its functionality may be provided by other computer programcomponents. As another example, processor 11 may be configured toexecute one or more additional computer program components that mayperform some or all of the functionality attributed to one or more ofcomputer program components described herein.

The electronic storage media of the electronic storage 13 may beprovided integrally (i.e., substantially non-removable) with one or morecomponents of the system 10 and/or removable storage that is connectableto one or more components of the system 10 via, for example, a port(e.g., a USB port, a Firewire port, etc.) or a drive (e.g., a diskdrive, etc.). The electronic storage 13 may include one or more ofoptically readable storage media (e.g., optical disks, etc.),magnetically readable storage media (e.g., magnetic tape, magnetic harddrive, floppy drive, etc.), electrical charge-based storage media (e.g.,EPROM, EEPROM, RAM, etc.), solid-state storage media (e.g., flash drive,etc.), and/or other electronically readable storage media. Theelectronic storage 13 may be a separate component within the system 10,or the electronic storage 13 may be provided integrally with one or moreother components of the system 10 (e.g., the processor 11). Although theelectronic storage 13 is shown in FIG. 1 as a single entity, this is forillustrative purposes only. In some implementations, the electronicstorage 13 may comprise a plurality of storage units. These storageunits may be physically located within the same device, or theelectronic storage 13 may represent storage functionality of a pluralityof devices operating in coordination.

FIG. 2 illustrates method 200 for stabilizing videos. The operations ofmethod 200 presented below are intended to be illustrative. In someimplementations, method 200 may be accomplished with one or moreadditional operations not described, and/or without one or more of theoperations discussed. In some implementations, two or more of theoperations may occur substantially simultaneously.

In some implementations, method 200 may be implemented in one or moreprocessing devices (e.g., a digital processor, an analog processor, adigital circuit designed to process information, a central processingunit, a graphics processing unit, a microcontroller, an analog circuitdesigned to process information, a state machine, and/or othermechanisms for electronically processing information). The one or moreprocessing devices may include one or more devices executing some or allof the operation of method 200 in response to instructions storedelectronically on one or more electronic storage mediums. The one ormore processing devices may include one or more devices configuredthrough hardware, firmware, and/or software to be specifically designedfor execution of one or more of the operation of method 200.

Referring to FIG. 2 and method 200, at operation 201, an image outputsignal may be generated. The image output signal may convey imageinformation that defines images with an optical field of view. In someimplementation, operation 201 may be performed by a component the sameas or similar to the image sensor 306 (Shown in FIG. 3 and describedherein).

At operation 202, a position output signal may be generated. Theposition output signal may convey position information thatcharacterizes positions of an image capture device at different momentswithin a capture duration. In some implementation, operation 202 may beperformed by a processor component the same as or similar to thepositions sensor 308 (Shown in FIG. 3 and described herein).

At operation 203, an observed trajectory of the image capture deviceduring the capture duration may be determined based on the positioninformation. In some implementation, operation 203 may be performed by aprocessor component the same as or similar to the observed trajectorycomponent 102 (Shown in FIG. 1 and described herein).

At operation 204, a capture trajectory of the image capture device maybe determined based on a subsequent portion of the observed trajectory.In some implementation, operation 204 may be performed by a processorcomponent the same as or similar to the capture trajectory component 104(Shown in FIG. 1 and described herein).

At operation 205, orientations of a capture field of view for the imagemay be determined with respect to the optical field of view based on thecapture trajectory. In some implementation, operation 205 may beperformed by a processor component the same as or similar to theorientation component 106 (Shown in FIG. 1 and described herein).

At operation 206, video content may be generated based on visual contentof the images within the capture field of view. In some implementation,operation 206 may be performed by a processor component the same as orsimilar to the generation component 108 (Shown in FIG. 1 and describedherein).

Although the system(s) and/or method(s) of this disclosure have beendescribed in detail for the purpose of illustration based on what iscurrently considered to be the most practical and preferredimplementations, it is to be understood that such detail is solely forthat purpose and that the disclosure is not limited to the disclosedimplementations, but, on the contrary, is intended to covermodifications and equivalent arrangements that are within the spirit andscope of the appended claims. For example, it is to be understood thatthe present disclosure contemplates that, to the extent possible, one ormore features of any implementation can be combined with one or morefeatures of any other implementation.

What is claimed is:
 1. A system that stabilizes videos, the systemcomprising: a housing of an image capture device; an optical elementcarried by the housing and configured to guide light within an opticalfield of view to an image sensor, the optical field of view beinggreater than a capture field of view for generating video content; theimage sensor carried by the housing and configured to generate an imageoutput signal based on light that becomes incident thereon during acapture duration, the image output signal conveying image informationthat defines images with the optical field of view; a position sensorcarried by the housing and configured to generate a position outputsignal based on positions of the housing during the capture duration,the position output signal conveying position information thatcharacterizes the positions of the housing at different moments withinthe capture duration, the positions of the housing including rotationalpositions of the housing; and one or more physical processors configuredby machine-readable instructions to: determine an observed trajectory ofthe housing during the capture duration based on the positioninformation, the observed trajectory reflecting the positions of thehousing at the different moments within the capture duration, theobserved trajectory including a first portion corresponding to a firstmoment within the capture duration and a second portion corresponding toa second moment subsequent to the first moment within the captureduration; determine a capture trajectory of the housing based on a lookahead of the observed trajectory, the capture trajectory reflectingactual and/or virtual positions of the housing from which orientationsof the capture field of view with respect to the optical field of viewof the images are determined, the look ahead of the observed trajectoryincluding use of a subsequent portion of the observed trajectory todetermine a preceding portion of the capture trajectory such that aportion of the capture trajectory corresponding to the first portion ofthe observed trajectory, which corresponds to the first moment withinthe capture duration, is determined based on the second portion of theobserved trajectory, which corresponds to the second moment within thecapture duration, the capture trajectory having smoother changes thanthe observed trajectory; determine the orientations of the capture fieldof view for the images with respect to the optical field of view of theimages based on the capture trajectory of the housing; and generate thevideo content based on a punch-out of visual content of the imageswithin the capture field of view, wherein use of the visual content ofthe images within the capture field of view to generate the videocontent provides stabilization that creates a more stable view than useof entire visual content of the images.
 2. The system of claim 1,wherein the determination of the capture trajectory of the housing basedon the look ahead of the observed trajectory preserves a user's intendedmotion of the image capture device during the capture duration.
 3. Thesystem of claim 2, wherein past positions of the image capture devicesupply context for the user's intended motion of the image capturedevice.
 4. The system of claim 1, wherein the positions of the housingfurther include translational positions of the housing, and at leastsome of the virtual positions of the housing are translationally offsetfrom the actual positions of the housing.
 5. The system of claim 1,wherein the position sensor includes a gyroscope, an accelerometer,and/or an inertial measurement unit, and the position information isdetermined independent of the image information.
 6. The system of claim1, wherein the capture trajectory of the housing is determined based onminimization of a combination of a rotational velocity of the housingand a rotational acceleration of the housing.
 7. The system of claim 1,wherein the capture trajectory of the housing is determined to minimizeinter-frame motion while preserving intra-frame motion.
 8. The system ofclaim 1, wherein the images are stored in a buffer during capturetrajectory generation.
 9. The system of claim 8, wherein the images arestored in the buffer during the capture trajectory generation such thatindividual ones of the images corresponding to the portion of thecapture trajectory are stored in the buffer during the determination ofthe portion of the capture trajectory using the lookahead of theobserved trajectory, and the visual content of the individual ones ofthe images stored in the buffer are used after the determination of theportion of the capture trajectory to generate the video content.
 10. Thesystem of claim 9, wherein the one or more physical processors are, togenerate the video content based on the punch-out of the visual contentof the images within the capture field of view, further configured bymachine-readable instructions to crop the visual content of the imagesbased on the capture field of view.
 11. A method for stabilizing videos,the method performed by an image capture device including a housing andone or more processors, the housing carrying an optical element, animage sensor, and a position sensor, the optical element configured toguide light within an optical field of view to the image sensor, theoptical field of view being greater than a capture field of view forgenerating video content, the method comprising: generating, by theimage sensor, an image output signal based on light that becomesincident thereon during a capture duration, the image output signalconveying image information that defines images with the optical fieldof view; generating, by the position sensor, a position output signalbased on positions of the housing during the capture duration, theposition output signal conveying position information that characterizesthe positions of the housing at different moments within the captureduration, the positions of the housing including rotational positions ofthe housing; determining, by the one or more processors, an observedtrajectory of the housing during the capture duration based on theposition information, the observed trajectory reflecting the positionsof the housing at the different moments within the capture duration, theobserved trajectory including a first portion corresponding to a firstmoment within the capture duration and a second portion corresponding toa second moment subsequent to the first moment within the captureduration; determining, by the one or more processors, a capturetrajectory of the housing based on a look ahead of the observedtrajectory, the capture trajectory reflecting actual and/or virtualpositions of the housing from which orientations of the capture field ofview with respect to the optical field of view of the images aredetermined, the look ahead of the observed trajectory including use of asubsequent portion of the observed trajectory to determine a precedingportion of the capture trajectory such that a portion of the capturetrajectory corresponding to the first portion of the observedtrajectory, which corresponds to the first moment within the captureduration, is determined based on the second portion of the observedtrajectory, which corresponds to the second moment within the captureduration, the capture trajectory having smoother changes than theobserved trajectory; determining, by the one or more processors, theorientations of the capture field of view for the images with respect tothe optical field of view of the images based on the capture trajectoryof the housing; and generating, by the one or more processors, the videocontent based on a punch-out of visual content of the images within thecapture field of view, wherein use of the visual content of the imageswithin the capture field of view to generate the video content providesstabilization that creates a more stable view than use of entire visualcontent of the images.
 12. The method of claim 11, wherein determiningthe capture trajectory of the housing based on the look ahead of theobserved trajectory preserves a user's intended motion of the imagecapture device during the capture duration.
 13. The method of claim 12,wherein past positions of the image capture device supply context forthe user's intended motion of the image capture device.
 14. The methodof claim 11, wherein the positions of the housing further includetranslational positions of the housing, and at least some of the virtualpositions of the housing are translationally offset from the actualpositions of the housing.
 15. The method of claim 11, wherein theposition sensor includes a gyroscope, an accelerometer, and/or aninertial measurement unit, and the position information is determinedindependent of the image information.
 16. The method of claim 11,wherein the capture trajectory of the housing is determined based onminimization of a combination of a rotational velocity of the housingand a rotational acceleration of the housing.
 17. The method of claim11, wherein the capture trajectory of the housing is determined tominimize inter-frame motion while preserving intra-frame motion.
 18. Themethod of claim 11, wherein the images are stored in a buffer duringcapture trajectory generation.
 19. The method of claim 18, wherein theimages are stored in the buffer during the capture trajectory generationsuch that individual ones of the images corresponding to the portion ofthe capture trajectory are stored in the buffer during the determinationof the portion of the capture trajectory using the lookahead of theobserved trajectory, and the visual content of the individual ones ofthe images stored in the buffer are used after the determination of theportion of the capture trajectory to generate the video content.
 20. Themethod of claim 19, wherein generating the video content based on thepunch-out of the visual content of the images within the capture fieldof view includes cropping the visual content of the images based on thecapture field of view.